home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 September / PCWorld_2008-09_cd.bin / v cisle / sadanastroju / allow_html_temp-2.0.1-tb.xpi / install.js < prev    next >
Text File  |  2008-02-19  |  4KB  |  110 lines

  1.  
  2. // 1. Set parameters of package installation
  3. const APP_DISPLAY_NAME = "Allow HTML Temp";
  4. const APP_NAME = "allowhtmltemp";
  5. const APP_VERSION = "2.0.1";
  6.  
  7. const supported_locales = ["en-US", "cs-CZ", "da-DK", "de-AT", "el-GR", "es-ES", "fr-FR", "hr-HR", "it-IT", "nl-NL", "pl-PL", "pt-BR", "ru-RU", "sk-SK", "zh-CN", "zh-TW"];
  8.  
  9. const APP_PACKAGE = "/" + APP_NAME;
  10. const APP_JAR_FILE = APP_NAME + ".jar";
  11. const APP_SKIN_JAR_FILE = APP_NAME + ".jar";
  12. const APP_SKIN_MOZ_JAR_FILE = APP_NAME + "-moz.jar";
  13. const APP_CONTENT_FOLDER = "content/allowhtmltemp/";
  14. const APP_LOCALE_FOLDER1 = "locale/";
  15. const APP_SKIN_CLASSIC_FOLDER = "skin/classic/allowhtmltemp/";
  16. const APP_SKIN_MODERN_FOLDER = "skin/modern/allowhtmltemp/";
  17.  
  18.  
  19. const INST_TO_PROFILE = "M÷chten Sie "+APP_DISPLAY_NAME+" in Ihr Profil installieren?\nDies bedeutet, dass nach einem Programm-Update keine Neuinstallation notwendig ist.\n\n[ OK ] fⁿr das Profil-Verzeichnis\n[ Abbrechen ] fⁿr das Programm-Verzeichnis";
  20.  
  21.  
  22. // 2. Initialise package
  23. initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
  24.  
  25. // Get package directories
  26. // profile installs only work since 2003-03-06
  27. var instToProfile = false;
  28. var instToProfile = ((buildID>2003030600 || buildID==0000000000) && confirm(INST_TO_PROFILE));
  29. var chromef = instToProfile ? getFolder("Profile", "chrome") : getFolder("chrome");
  30. setPackageFolder(chromef);
  31.  
  32. var isTbird = false;
  33.  
  34. // 3. Flag files/folders to be added
  35. addFile("", "chrome/" + APP_JAR_FILE, chromef, "");
  36. addFile("", "chrome/" + APP_SKIN_MOZ_JAR_FILE, chromef, "");
  37.  
  38. err = getLastError();
  39.  
  40. if (err == SUCCESS) {
  41.  
  42.   // 4. Register chrome (this is what contents.rdf is used for)
  43.   if(instToProfile) {
  44.     registerChrome(CONTENT | PROFILE_CHROME, getFolder(chromef, APP_JAR_FILE), APP_CONTENT_FOLDER);
  45.     for (var s in supported_locales) {
  46.       registerChrome(LOCALE | PROFILE_CHROME, getFolder(chromef, APP_JAR_FILE), APP_LOCALE_FOLDER1 + supported_locales[s] + "/allowhtmltemp/");
  47.     }
  48.     registerChrome(SKIN | PROFILE_CHROME, getFolder(chromef, APP_SKIN_MOZ_JAR_FILE), APP_SKIN_CLASSIC_FOLDER);
  49.     registerChrome(SKIN | PROFILE_CHROME, getFolder(chromef, APP_SKIN_MOZ_JAR_FILE), APP_SKIN_MODERN_FOLDER);
  50.   } else {
  51.     registerChrome(CONTENT | DELAYED_CHROME, getFolder(chromef, APP_JAR_FILE), APP_CONTENT_FOLDER);
  52.     for (var s in supported_locales) {
  53.       registerChrome(LOCALE | DELAYED_CHROME, getFolder(chromef, APP_JAR_FILE), APP_LOCALE_FOLDER1 + supported_locales[s] + "/allowhtmltemp/");
  54.     }
  55.     registerChrome(SKIN | DELAYED_CHROME, getFolder(chromef, APP_SKIN_MOZ_JAR_FILE), APP_SKIN_CLASSIC_FOLDER);
  56.     registerChrome(SKIN | DELAYED_CHROME, getFolder(chromef, APP_SKIN_MOZ_JAR_FILE), APP_SKIN_MODERN_FOLDER);
  57.   }
  58.  
  59.   // 5. Perform the installation
  60.   err = performInstall();
  61.  
  62.   // 6. Report on success or otherwise  
  63.   if(err == SUCCESS || err == 999) {
  64.     refreshPlugins();
  65.     alert(APP_DISPLAY_NAME+" "+APP_VERSION+" wurde erfolgreich installiert!\nBitte starten Sie das Programm jetzt neu.");
  66.   } else {
  67.     alert("Die Installation der Erweiterung ist fehlgeschlagen.\nDer Fehlercode lautet: " + err);
  68.     cancelInstall(err);
  69.   }
  70. } else {
  71.   alert("Die Erweiterung konnte nicht installiert werden.\n"
  72.        +"Eventuell haben Sie keine ausreichenden Zugriffsrechte\n"
  73.        +"auf das Profil- oder Programm-Verzeichnis.\n"
  74.        +"\nDer Fehlercode lautet:" + err);
  75.   cancelInstall(err);
  76. }
  77.  
  78. // OS type detection
  79. // which platform?
  80. function getPlatform() {
  81.   var platformStr;
  82.   var platformNode;
  83.  
  84.   if('platform' in Install) {
  85.     platformStr = new String(Install.platform);
  86.  
  87.     if (!platformStr.search(/^Macintosh/))
  88.       platformNode = 'mac';
  89.     else if (!platformStr.search(/^Win/))
  90.       platformNode = 'win';
  91.     else
  92.       platformNode = 'unix';
  93.   } else {
  94.     var fOSMac  = getFolder("Mac System");
  95.     var fOSWin  = getFolder("Win System");
  96.  
  97.     logComment("fOSMac: "  + fOSMac);
  98.     logComment("fOSWin: "  + fOSWin);
  99.  
  100.     if(fOSMac != null)
  101.       platformNode = 'mac';
  102.     else if(fOSWin != null)
  103.       platformNode = 'win';
  104.     else
  105.       platformNode = 'unix';
  106.   }
  107.  
  108.   return platformNode;
  109.